4
תגובות
C# listbox
פתח
yonikal56
,
יש לי listbox עם פריטים ארוכים מאורך השורה, הפריטים שמורים במסד, איך אפשר לעשות שפריטים ארוכים יהיו יותר משורה, בהתאם לאורך?
4 תשובות
לא נראה לי שיש אופציה כזו
אבל אפשר לגרום לרוחב של הליסטבוקס להשתנות בהתאם לאורך המילים על ידי הצבת
HorizontalContentAlignment="Stretch"
יהיה נחמד אם תשתף את כולנו איך הצלחת כדי שאדם שנתקע באותה הבעיה ידע בדיוק. תרחיב קצת ;)
@Ben
הנה זה מה שעשיתי:
private void listBox1_MeasureItem(object sender, MeasureItemEventArgs e)
{
e.ItemHeight = (int)e.Graphics.MeasureString(listBox1.Items[e.Index].ToString(), listBox1.Font, listBox1.Width).Height;
}
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds);
}
ובform_load עשיתי:
listBox1.DrawMode = DrawMode.OwnerDrawVariable;